<template>
    <div class="swiper-container" ref="carousel">
        <div class="swiper-wrapper">
            <div class="swiper-slide" v-for="carousel in list" :key="carousel.id">
                <img :src="carousel.imgUrl"/>
            </div>
        </div>
        <!-- 如果需要分页器 -->
        <div class="swiper-pagination"></div>

        <!-- 如果需要导航按钮 -->
        <div class="swiper-button-prev"></div>
        <div class="swiper-button-next"></div>
    </div>
</template>

<script>
import Swiper from 'swiper';
export default{
    name:'Carousel',
    props:['list'],
    watch:{
        list:{
            // 立即监听:上来立即监听一次
            immediate:true,
            handler(){
                // 只能监听到数据已经有了，但是v-for动态渲染结构无法确定，所有要用nextTick
                this.$nextTick(()=>{
                    var swiper = new Swiper(this.$refs.carousel, {
                        autoplay: true,
                        loop: true,
                        // 分页器
                        pagination: {
                            el: '.swiper-pagination',
                            // 点击切换图片
                            clickable:true,
                        },
                        // 前进后退按钮
                        navigation: {
                            nextEl: '.swiper-button-next',
                            prevEl: '.swiper-button-prev',
                        },
                    });
                })
            },
        },
    },
}
</script>

<style  lang="less" scoped>

</style>